package com.alangyun.remind.repository.algorithm;

/**
 * 专业等级
 *
 * @class com.alangyun.remind.repository.algorithm.ProfessionalLevel
 * @company 北京诚朗信息技术有限公司
 * @author hoobort klxukun@126.com
 * @datetime 2022年11月23日 下午4:37:20
 *
 */
public enum ProfessionalLevel implements IFactorEnum {
	ZG("正高级", 3.0, 0.0, 0.0),
	FG("副高级", 2.5, 0.0, 0.0),
	ZJ("中级", 2.0, 0.0, 0.0),
	ZL("助理级", 1.0, 0.0, 0.0),
	YJ("员级", 0.5, 0.0, 0.0);

	private String keyCode;
	private double standVal;//标准分
	private double minVal;//最大分（扩展用）
	private double maxVal;//最小分（扩展用）

	private ProfessionalLevel(String k, double standard, double min, double max) {
		this.keyCode = k;
		this.standVal = standard;
		this.minVal = min;
		this.maxVal = max;
	}
	
	public String key() {
		return keyCode;
	}

	public double standard() {
		return standVal;
	}

	public double min() {
		return minVal;
	}

	public double max() {
		return maxVal;
	}

	public static ProfessionalLevel keyOf(String key) {
		ProfessionalLevel ret=null;
		if(ZG.key().equals(key))
			ret=ZG;
		else if(FG.key().equals(key))
			ret=FG;
		else if(ZJ.key().equals(key))
			ret=ZJ;
		else if(ZL.key().equals(key))
			ret=ZL;
		else if(YJ.key().equals(key))
			ret=YJ;
		
		return ret;
	}
}
